2025-05-18  mio  <stigma@disroot.org>

	(meson/scons) Enable build without GraphicsMagick
	Closes: https://codeberg.org/supercell/pixiv_down/issues/39

	Don't crash in prebuild if git isn't installed

2025-05-18  mio  <stigma@disroot.org>

	Remove unfinished gamut configuration
	Building with dub will fetch the gamut dependency regardless of what
	configuration you are building.  Since gamut doesn't support animated
	GIF writing (with configurable frame time), the code has been removed.

	Removing the gamut code won't break Ugoira downloading for people using
	the configuration, since it never worked.

	See: https://codeberg.org/supercell/pixiv_down/issues/25

2025-05-17  mio  <stigma@disroot.org>

	Cleanup app.d

	Deprecate macOS support
	I'm not interested in directly supporting macOS (Apple) anymore.  The
	converter code will remain since it's relatively stable and should only
	stop working if Apple breaks something.

2025-03-10  mio  <stigma@disroot.org>

	Remove guix.scm

	Document the 'errors' command in main help

	Remove works from errorCache if later successful
	See: #37

	Add man page for 'errors' command
	See: #37

	Add error cache
	This adds an 'errors' command that prints any errors that occurred
	during any runs. It does not yet remove any previous entries on success,
	nor does it have any documentation outside of its own help message

2024-12-31  mio  <stigma@disroot.org>

	2024.12

	Change load order of plugins
	I think it makes more sense to check non-root directories first, since
	that would allow people to override the default 'gm' and 'imageio' if
	they want.  It also means that you don't need to "install" a plugin, you
	can just copy it to the local data directory.

2024-12-30  mio  <stigma@disroot.org>

	Fix building GDC 12
	pd.pixiv_downloader would fail to link when the 'pd' directory was
	compiled in to its own static library.  Changed it so all the files
	in the 'pd' directory are compiled when compiling the main executable.

2024-12-29  mio  <stigma@disroot.org>

	Generate version string from build script

	Mention reloading dylib cache

	Update macOS LDC notice

	Fix output.base_folder config

	Fix plugin loading on macOS

	Add --converter option to override config option

2024-12-27  mio  <stigma@disroot.org>

	Update imageio_converter to use new API

2024-12-25  mio  <stigma@disroot.org>

	Update plugin definition
	There is a new ConverterInfo structure which contains information about
	the current converter plugin.  It also provides a function that will
	create the actual converter.

	Currently only the GraphicsMagick converter has been updated to use this
	new definition.  An update to the ImageIO converter will follow shortly.

2024-12-15  mio  <stigma@disroot.org>

	Explain GraphicsMagick "HACK"

	Check plugin initialization result

	Change plugin loading to not require _converter
	In effect, this means the converter.name configuration option now only
	requires "<name>", not "<name>_converter".  Less duplication in the
	configuration.

	Reformat converter file

2024-12-12  mio  <stigma@disroot.org>

	Fix delay/looping in imageio_converter

	Install converter.h header

	Add config option for converter.name
	The option expects a name in the form of "<plugin>_converter".  So, for
	example, if you want to specifically use the "gm" converter, you'd use
	"gm_converter" for the name.

2024-12-11  mio  <stigma@disroot.org>

	(meson) Install gm_converter to rpath
	Only for meson since scons doesn't set the RPATH currently.

2024-12-11  mio  <stigma@disroot.org>

	Convert macOS ImageIO to a plugin
	I've opted to use the RPATH method to address the issue noted in #34
	however, macOS will also attempt to look in /usr/local/lib/ and
	~/Library/Appliction Support/yumeneru-software.pixiv_down/plugins/
	should a plugin not be found in the rpath.

	There is also a fallback for $XDG_DATA_HOME/pixiv_down/plugins/ for
	non-macOS systems.

	This is currently untested on non-macOS systems.

2024-12-10  mio  <stigma@disroot.org>

	Convert plugin system to use C linkage
	This should work better on macOS where linking dynamic libraries
	written in D doesn't seem to work.

2024-11-28  mio  <stigma@disroot.org>

	Compile gm_converter in SCons

2024-11-28  mio  <stigma@disroot.org>

	Replace GraphicsMagick binding with plugin system
	The plugin API may still change as the macOS version is supported, but
	after that it should be 'stable'.  The "ConverterAPIVersion" will remain
	at '1' until that happens.  Documentation will be added afterwards.

	There also needs to be some tests for other plugins, so I'll probably
	end up writing another converter to test that out.

	See: https://codeberg.org/supercell/pixiv_down/issues/34

2024-11-26  mio  <stigma@disroot.org>

	Build fixes for DUB
	Should be the last of these fixes for the reorganization.

	Rewrite SCons to support reorganization

2024-11-19  mio  <stigma@disroot.org>

	Move term.d to mlib
	Not yet part of the mlib repository, but it'll get there one day.

	Move source/{cmds/,}*.d to source/app

	Move configuration.d to pd/configuration.d

	Move pixiv-related code to separate pd/ directory
	Mainly just a bit of code organising.

2024-11-05  mio  <stigma@disroot.org>

	Remove autotools build system

	Fix crash when downloading Ugoira
	pixiv now expects a 'i.pximg.net' host for Ugoira.

2024-10-27  mio  <stigma@disroot.org>

	v2024.10

	Fix typo in update_git_version

	Mention macOS build limitation in INSTALL

	Support building on macOS/SCons/DMD

2024-10-26  mio  <stigma@disroot.org>

	Add deprecation notice to configure.ac

	Update INSTALL instructions

2024-10-26  mio  <stigma@disroot.org>

	Add scons build script
	Yes, another build script.  While dub is the de facto build tool for D,
	it doesn't allow people to install programs or libraries.  Meson works
	*fine*, but I'm not a huge fan of it.  SCons seems nice?

	dub, meson, and scons will be supported.

	Honestly, if CMake provided support for D, I'd use that.

2024-10-26  mio  <stigma@disroot.org>

	Update README

2024-10-26  mio  <stigma@disroot.org>

	Add update_git_version.d to replace dub.sdl script
	On macOS, the '-i' option for sed (BSD) required an argument, however,
	GNU sed will not work if an argument is provided for the '-i' option.

	Yay!

2024-10-26  mio  <stigma@disroot.org>

	Update mlib.directories to 0.5.1
	This add support for stateDir on macOS

	Fixes: https://codeberg.org/supercell/pixiv_down/issues/33

2024-10-15  mio  <stigma@disroot.org>

	Add docs/meson.build

	daily: Prohibit BEGIN without END or END > BEGIN

	Update documentation for daily command

2024-10-15  mio  <stigma@disroot.org>

	Add support for automatic daily end date.
	Dates are stored in $XDG_STATE_HOME/pixiv_down/last_daily_run on a
	single line using the format YYYY-MM-DD.  No time is recorded, since
	the daily command will use midnight as the end time (00:00)

	Resolves: https://codeberg.org/supercell/pixiv_down/issues/32

2024-10-15  mio  <stigma@disroot.org>

	Configure guix.scm to use meson build system

2024-10-13  mio  <stigma@disroot.org>

	Update PHPSESSID link

	Fix version generation with dub (non-git)

	Update version strings

	Include meson files with autoconf dist

	Improve git version tagging across build systems

	Require --public or --private (following)
	This has been the requirement per the help messages, but wasn't enforced
	if another argument was provided, such as --skip.

	Improve message when fetching accounts (following)

	Use meson on the README

2024-10-13  mio  <stigma@disroot.org>

	Add meson build files
	(not tested on macOS yet)

	This will probably take over the autoconf files that are currently
	present.  Not that I have anything against autoconf, but meson supports
	D out of the box.

	There is still some more changes to the meson files that I need to work
	out (such as vcs_tag).

	The autoconf files will be removed after 2024.10 release.

2024-10-12  mio  <stigma@disroot.org>

	Use OS 'state' directory for logs (XDG)
	See: https://codeberg.org/supercell/pixiv_down/issues/33

2024-09-25  mio  <stigma@disroot.org>

	Add docs/Makefile.am

2024-09-24  mio  <stigma@disroot.org>

	v2024.09

	Reformat the NEWS file

2024-09-24  mio  <stigma@disroot.org>

	Add --force option to daily command
	Very useful for times when pixiv changes the AJAX API, breaking
	pixiv_down, and the author hasn't realized, so all the images you
	thought you were downloading for the last week or so, were actually HTML
	files.

	*cough*

	(running 'find /path/to/pixiv-pictures -size -200c' should help)

2024-09-24  mio  <stigma@disroot.org>

	Add --force option to artwork command

	Fix downloading images (pixiv change)
	At some point, it seems that pixiv started reading the 'accepts' header
	a bit differently.

	Update mlib.directories to 0.5.0

2024-08-08  mio  <stigma@disroot.org>

	Add bookmarked configuration docs

	Add configuration for bookmarked always_remove_invalid
	Also cleanup the configuration.d file a bit.

2024-08-07  mio  <stigma@disroot.org>

	Fix crash when fetching CSRF token
	Fixes: https://codeberg.org/supercell/pixiv_down/issues/31

2024-08-04  mio  <stigma@disroot.org>

	Add default DFLAGS -g -O2
	This bloats the binary, but makes it easier to debug anything crashes.
	You can just change this by settings DFLAGS when calling make. E.g:
	    make DFLAGS='-O3 -frelease'

2024-08-01  mio  <stigma@disroot.org>

	Fix autotools-based compilation for GDC12

	Bump UserAgent to Firefox 126

	Add bookmarked 'remove-from-file' option

	Potential fixes for CSRF Token fetching
	Instead of requesting the home page (www.pixiv.net), we now request
	the 'bookmarks' page of the authenticated account.  I think there may
	have been some issues with certain IPs making the homepage request,
	since it seemed to encounter a Cloudflare verification more often then
	not.  We also only send a request to fetch the CSRF token if the 'bookmarked'
	command is invoked, not for every command except for help.

2024-07-27  mio  <stigma@disroot.org>

	Add GNU Guix package definition for development

	Remove fetch_dependencies script
	It hasn't done anything for a couple of months (0d9ac1895f).

	Support for D 2076.
	I've been playing around with Guix.  Unfortunately, the latest supported
	version of GDC (as of writing) is 11, which only supports D 2.076.

	Convert Ruby 'configure' to Autotools
	I didn't really have anything against using Ruby, other than it meant
	depending on another language that may or may not be installed by
	default on different distributions.

2024-07-23  mio  <stigma@disroot.org>

	Remove magickd from dub.selections.json

	Remove man pages when running make uninstall

2024-07-21  mio  <stigma@disroot.org>

	v2024.07

	Simplify the fetch_dependencies script

	Improve message no content to download (`artist`)

	Fix artist novel offset not working

2024-07-02  mio  <stigma@disroot.org>

	Update CHANGELOG

	Fix GIF generation on POSIX
	Previously GIFs would play the 'second frame' first and the
	'first frame' second because GraphicsMagick will prepend an
	image to the list if there is no previous image in the list.

2024-06-03  mio  <stigma@disroot.org>

	Fix endless loop in daily command (pt. 2)
	This was an error from 8036e5e9f6ef931f4ec75f6834731651f3f26f63.

	Fixes: https://codeberg.org/supercell/pixiv_down/issues/30

2024-06-02  mio  <stigma@disroot.org>

	Fix endless loop in daily command
	Fixes: https://codeberg.org/supercell/pixiv_down/issues/30

2024-05-31  mio  <stigma@disroot.org>

	v2024.05

	Update CHANGELOG

	Accept --output-directory= and --config-file=

2024-05-26  mio  <stigma@disroot.org>

	Remove magickd from README

	Update fetch_dependencies.sh
	It is likely this script will be removed in a future version.

2024-05-26  mio  <stigma@disroot.org>

	Remove dependency on magickd
	GraphicsMagick is still used for POSIX builds, however, it is now loaded
	via dlopen.  There are a couple for this change. Firstly, it simplifies
	building when "dub" isn't present. Secondly, it *should* allow us to
	support ImageMagick as well.

	See: https://codeberg.org/supercell/pixiv_down/issues/29

2024-05-24  mio  <stigma@disroot.org>

	Fix invalid array index for help

2024-05-23  mio  <stigma@disroot.org>

	Fix building errors (incorrect parameters)

2024-05-22  mio  <stigma@disroot.org>

	Add support for CLI configuration overrides
	Just need to add the --OPTION=ARG variants.

	See: https://codeberg.org/supercell/pixiv_down/issues/26

2024-05-19  mio  <stigma@disroot.org>

	Miscellaneous changes (tidy up)

2024-05-19  mio  <stigma@disroot.org>

	Improve fallback for building in non-VCS env.
	This prevents Make from rebuilding when nothing changed.  Only remaining
	issue is that magickd isn't present by default.

	See: https://codeberg.org/supercell/pixiv_down/issues/28

2024-05-19  mio  <stigma@disroot.org>

	Provide a fallback for building in non-VCS env.

2024-05-18  mio  <stigma@disroot.org>

	Update CHANGELOG

	Allow 'compact' when invalid ID and in interactive

	Fix crash in compact command when ID isn't valid.

2024-05-16  mio  <stigma@disroot.org>

	Fix crash when downloading an artist

2024-04-22  mio  <stigma@disroot.org>

	Send `lang` in pixiv requests
	This will localize error messages from the pixiv API, which would
	be helpful, if the error messages weren't just "Unknown error occurred".

	Fix log formatting in cmds.daily

	Get the current locale for error messages

	Fix configure script for Ruby 3+

2024-04-20  mio  <stigma@disroot.org>

	v2024.04

	Fix logging formatting

	Remove Ugoira temp files & enable cursor on error

	Copyright update

	Remove empty EXAMPLES from pixiv_down.1

	Remove `nt` module
	I created these functions because I'm not a fan of how the phobos
	implementations throw exceptions... if these should error than I
	don't think the program needs to abort.  I'm removing these just to
	reduce the number of files to compile and remove duplicate functionality
	(since these functions exist in the standard library).

	Update README

2024-04-18  mio  <stigma@disroot.org>

	Add notice about building with gamut to dub.sdl

	Warn when an Ugoira is enountered with gamut

2024-04-16  mio  <stigma@disroot.org>

	Fix some incorrectly formatted logging calls

	Add initial support for building with gamut
	See: https://codeberg.org/supercell/pixiv_down/issues/25

2024-04-13  mio  <stigma@disroot.org>

	Don't fetch CSRF Token for help command

	Add custom FileLogger
	Continuing on from 79726c5a75df9ad3035bd7c55bb24059a8bc8036

	Update CHANGELOG.md

2024-04-13  mio  <stigma@disroot.org>

	Remove -fpreview=in from GDC build
	This has been causing segfaults.  While GraphicsMagick is the one that
	reports the segfault...

	    Magick: abort due to signal 11 (SIGSEGV) "Segmentation Fault"...

	...running pixiv_down through GDB seems to reveal an issue with
	std.regex. This doesn't happen with DMD or LDC, so the flag remains in
	use for those compilers.

2024-04-07  mio  <stigma@disroot.org>

	update .editorconfig

	Replace logger.d with std.experimental.logger
	It was causing some issues with GraphicsMagick, causing the occasionaly
	segfault.  Probably wasn't written properly.  I'll add a custom format
	at some point, since the default isn't really nice to look at.

2024-04-05  mio  <stigma@disroot.org>

	Add 'bookmarked' command to README

	Remove util$converToString

	Compile with -preview=in

	Move terminal-related functions to term.d
	Closes: https://codeberg.org/supercell/pixiv_down/issues/22

2024-04-04  mio  <stigma@disroot.org>

	Add pixiv_down-bookmarked.1

	Support for removing invalid novel bookmarks
	See: https://codeberg.org/supercell/pixiv_down/issues/15

2024-04-04  mio  <stigma@disroot.org>

	Implement 'bookmarked --remove-invalid' option
	To send a POST request on pixiv, you need a CSRF token which, rather
	conveniently, pixiv provides as part of the initial HTML response for
	(seemingly) and web page.  It then removes it after loading, so secrets
	can stay hidden.

	There is some more information that can be found in the linked ticket.

	See: https://codeberg.org/supercell/pixiv_down/issues/15

2024-04-03  mio  <stigma@disroot.org>

	Improve 'bookmarked' command
	A new --skip option was added since it is probably unreasonable to
	assume people are happy to sit for however long to download 1600+ works.
	To assist with this, the number of *processed* works are printed after
	every page, this number includes and works which are no longer available
	to download so the --skip option works as expected.

	There was also a crash that would occur when an artwork was "masked".
	It turns out the API returns an integer artwork ID if the work is masked
	instead of a string, so we perform a check for that as well.

2024-04-03  mio  <stigma@disroot.org>

	Update .gitignore

	Move pixiv_down version info to separate module

2024-04-02  mio  <stigma@disroot.org>

	Begin implementing 'bookmarked' command
	See: https://codeberg.org/supercell/pixiv_down/issues/15

	Add list with supported content types to man pages

	Add pixiv_down-novel.1

	Add pixiv_down-following.1

	Write pixiv_down-daily.1

	Update CHANGELOG.md

2024-04-02  mio  <stigma@disroot.org>

	Use std.getopt rather than custom argument parsing
	The only place it hasn't been used is in app.d, since std.getopt doesn't
	support "commands", so there would be no benefit.

	See: https://codeberg.org/supercell/pixiv_down/issues/24

2024-04-02  mio  <stigma@disroot.org>

	Remove deprecation message for config base_folder
	As with the change in configuration file name, this setting will
	now be supported indefinitely.

	See: 90e48e436d8990d0f5d9d6c7d6158799f5e94b3f

2024-04-02  mio  <stigma@disroot.org>

	update mlib/directories to 0.4.0

2024-04-01  mio  <stigma@disroot.org>

	Change the access and modification times of GIFs

	Support PIXIV_DOWN_SESSID environment variable
	Closes: https://codeberg.org/supercell/pixiv_down/issues/23

2024-03-31  mio  <stigma@disroot.org>

	Use real account IDs in pixiv_down-artist.1
	They stand out a bit more than 1 2 3

	Add installation of manual pages to Makefile.in

	Fix reference in pixiv_down.1

	Add manual page for 'pixiv_down prune'

2024-03-31  mio  <stigma@disroot.org>

	Change default configuration file name
	Now called 'pixiv_down.conf'.  Reason? PIXIV_DOWN.CONF(5) fits better
	than PIXIV_DOWN-SETTINGS.CONF(5).

	The old name will be supported indefinitely.

2024-03-31  mio  <stigma@disroot.org>

	Begin writing manual pages

2024-03-30  mio  <stigma@disroot.org>

	Fix GIFs not being recreated after SIGINT [GM]
	When calling WriteImages, GraphicsMagick will write each frame of the
	GIF directly to the provided output filename.  In our case that was the
	final '.gif', which meant that with the changes introduced in commit
	f09e5e180703b67861954b587775ec579f78d749 pixiv_down wouldn't attempt to
	recreate the GIF if it had previously been interrupted with ^C, for
	example.

	Because "fTemporayPath" ends with '.part', which isn't an image type,
	GraphicsMagick assumes the output image is the same format as the input.
	To prevent this, we specifically set the first frame's "magick".

	Fixes: https://codeberg.org/supercell/pixiv_down/issues/21

2024-03-30  mio  <stigma@disroot.org>

	Fix incorrect progress reporting for Ugoira
	See: https://codeberg.org/supercell/pixiv_down/issues/20

	Makefile.in improvements
	pixiv_down will only rebuild if there have been new commits since the
	last build.

	Check if Ugoira exists before downloading ZIP
	Fixes: https://codeberg.org/supercell/pixiv_down/issues/18

2024-03-29  mio  <stigma@disroot.org>

	Update README with new build instructions
	Mention the new configure script and clarify that macOS does not need
	GraphicsMagick.

	configure script fixes for macOS

	Generate githash with Makefile.in

	Replace Makefile with configure script
	The end goal is to allow macOS to build using ./configure && make
	without having to change anything.  (This currently works on linux)

2024-03-10  mio  <stigma@disroot.org>

	Fix macOS compilation

	Update README

	Update CHANGELOG

	Add GIFWriter and ImageReader for GraphicsMagick

	ugoira support for macOS
	While it may have been possible to create ugoira using GraphicsMagick,
	this makes use of CoreFoundation and ImageIO provided by macOS.

	Add configuration for macOS

	Improve POSIX support for nt.file.setTimes

	Update mlib/directories to 0.3.0

	Update mlib/trash.d to 0.4.0

2024-03-07  mio  <stigma@disroot.org>

	Log Ugoira mimetype in debug

2024-02-03  mio  <stigma@disroot.org>

	v2024.02

2024-01-27  mio  <stigma@disroot.org>

	Don't use page number in filename if single page
	Illustrations with multiple pages and Manga will continue to use the
	page number and be located in a sub-directory.  For illustrations with
	a single page, his just re-creates the behaviour before
	91005492bb34ba497de6e73e1aa5368a2b573083

2024-01-26  mio  <stigma@disroot.org>

	Update 'help' help with novel support

	Fixes for -preview=in
	I'm not going to force compilation with -preview=in yet. But this is in
	preparation for when I do, or when (if ever) it becomes the default.

	Allow DFLAGS if used in Makefile

	Add PHPSESSID HowTo
	Closes: https://codeberg.org/supercell/pixiv_down/issues/14

	Add --sfw-only option to daily command
	Closes: https://codeberg.org/supercell/pixiv_down/issues/12

	Update CHANGELOG

	Support for downloading an artist's novels
	Closes: https://codeberg.org/supercell/pixiv_down/issues/8

	Provide some documentation to nt.prelude.Optional

	Implement downloading daily novels
	See: https://codeberg.org/supercell/pixiv_down/issues/8

2024-01-25  mio  <stigma@disroot.org>

	Add ability to download novels
	Currently only works via the new 'novel' command, but fetching all
	novels from an account, and fetching the latest novels from all followed
	accounts will be implemented soon.

	See: https://codeberg.org/supercell/pixiv_down/issues/8

2024-01-25  mio  <stigma@disroot.org>

	Build individual object files

	Implement --skip-manga and --skip-illust
	Closes: https://codeberg.org/supercell/pixiv_down/issues/7

	Create a spinner when downloading/creating Ugoira

	Move runSpinner from prune.d to util.d

2024-01-23  mio  <stigma@disroot.org>

	Remove dependency on pixivd

	Small tidy up

	Move following command to separate file

	Add nothrow variant of std.conv

	Add pixiv.fetchUser
	Replaces pixivd.client.Client.fetchUserAll.  With this, the only
	remaining method to port is fetchFollowing.

	Add private makeRequest

	Add pixiv.fetchUserProfile
	Replaces pixivd.client.Client.fetchUserAll

	Move daily command in to separate file

2024-01-23  mio  <stigma@disroot.org>

	Rewrite daily command to use pixiv module
	I have also removed the 'restrict' option, which would allow people to
	specify whether to download content that is either R18, Safe, or Both.
	The option never actually did anything, with the daily command always
	downloading Both content types.  The option may come back.

	See: https://codeberg.org/supercell/pixiv_down/issues/12
	Closes: https://codeberg.org/supercell/pixiv_down/issues/13

2024-01-23  mio  <stigma@disroot.org>

	Use Flag rather than bool in term.d

2024-01-21  mio  <stigma@disroot.org>

	Build object files for graphicsmagick_c
	This won't really speed up build times yet, but once pixivd is removed the
	files in source/ can be compiled to object files and hopefully that will
	speed up build times a little.

2024-01-21  mio  <stigma@disroot.org>

	Add support for downloading Ugoira in pixiv
	This took a while to implement because I had recently updated
	GraphicsMagick versions and the previous code was incorrect for creating
	GIFs.  It took some time to figure it out (completely missing the entry
	in the NEWS file...) All that needed to change was adding the
	GetFirstImageInList call.

	Closes: https://codeberg.org/supercell/pixiv_down/issues/10

2024-01-21  mio  <stigma@disroot.org>

	Fix incorrect format

	Fix dynamic build linkage

2024-01-20  mio  <stigma@disroot.org>

	Separate pixiv API requests and downloading

2024-01-20  mio  <stigma@disroot.org>

	Remove ProgressMonitor and downloadIllust
	The functionality is provided by downloadArtworkWith and
	downloadArtworkWithPageNotifier.

	Work still needs to be done on supporting Ugoira and novels.

2024-01-20  mio  <stigma@disroot.org>

	Improve progress reporting for some commands
	Improved for the artist, artwork, and daily commands.

2024-01-20  mio  <stigma@disroot.org>

	Implement downloading for pixiv.downloadArtwork
	All that is missing is support for ugoira and novels.

	See: https://codeberg.org/supercell/pixiv_down/issues/11

2024-01-18  mio  <stigma@disroot.org>

	Add prune command to CHANGELOG

	Remove ability to build with local archives
	Use either make (git submodule update --init && make) or dub.

2024-01-18  mio  <stigma@disroot.org>

	Begin implementation of pixiv.downloadArtwork
	The intention is to replace pixiv.downloadIllust with this new function.
	Currently it's not complete (doesn't even download!) but there shouldn't
	be too much more work.

	Then the pixiv module needs a method of supporting Ugoira.

2024-01-18  mio  <stigma@disroot.org>

	Remove excessive private modifier

	Move artist command to separate file

	Replace phobos setTimes with nothrow version
	This was the start of an attempt to make pixiv.setDate nothrow, however,
	considering that Systime.fromISOExtString and dirEntries can both throw,
	I'm not sure that will happen :(

	Move artwork command to separate file

	Log execution date

2024-01-16  mio  <stigma@disroot.org>

	Create data directory if needed in resetSessionID

	check for GraphicsMagick before building

2024-01-14  mio  <stigma@disroot.org>

	Move downloadIllust function to new pixiv module
	The new pixiv module will be where all pixiv-related functionality will
	be located.

	Move convertToString to util.d
	Also mark it as nothrow

2024-01-13  mio  <stigma@disroot.org>

	Add prune documentation to README

	Update mlib.configparser to 0.5.2

	Move configparser module to mlib

	Move directories module to mlib package

2024-01-13  mio  <stigma@disroot.org>

	Fully replace std logger with custom logger
	Rewrite the logger module to use C functions since the D stdio seemed to
	be locking incorrectly when calling too many write functions in quick
	succession (messages weren't being written after the first few).

	This also adds an environment variable PIXIV_DOWN_LOG_LEVEL which (at
	startup) sets gMinLogLevel if the value is valid.

2024-01-13  mio  <stigma@disroot.org>

	Add prune command
	This replaces the pixivd_tools' remove_unfollowed program.

2024-01-11  mio  <stigma@disroot.org>

	Remove pixiv_down.png
	A remanent from when I was going to provide an AppImage for
	pixiv_down.

2024-01-05  mio  <stigma@disroot.org>

	Add source/mlib/search_params

2024-01-04  mio  <stigma@disroot.org>

	Remove hard coding linux terminal
	A leftover from having the incorrect escape codes.

	2024 pt.1

	Update README

	Fix erroneous exit in GMagick_Dynamic builds
	main.loadLibGM was returning the value of
	graphicsmagick_c.config.loadGraphicsMagick
	which returns false when the library was
	correctly loaded, but some symbols could
	not be found.  pixiv_down should be able
	to run under these conditions still.

	generate githash with dub

	make clean

	Fix colour output for tmux

	Replace GNUmakefile with Makefile
	Has been tested with both GNU Make and NetBSD Make (bmake).

	Deprecate fetch_dependencies script
	I won't remove the script, but I also won't be testing it.
	Either use git submodules or dub.

	Add ability to build using git submodules & make

2023-12-10  mio  <stigma@disroot.org>

	Use custom logging for 'compact' command

	update pixivd

2023-12-09  mio  <stigma@disroot.org>

	Update CHANGELOG for 'compact' command

	Implement 'compact' command
	Replaces the pixivd_tools/pixiv_combine_users found at
	https://osdn.net/users/nemophila/pf/pixivd_tools/wiki/FrontPage

2023-11-28  mio  <stigma@disroot.org>

	Fix unittest compilation

	Reformat and update CHANGELOG

	Log compilation information to LogFile

	Make loadConfig public

	have makeSafe treat more characters as invalid
	Turns out this is really dependent on the filesystem's format
	(e.g. ext4, exfat, ntfs, etc.).  This will assume unicode is valid, but
	will restrict the possible characters to 'work characters', periods, and
	hyphens.

2023-10-29  mio  <stigma@disroot.org>

	Move configuration to separate module
	Slowly going around and breaking down the main file.

	Add .editorconfig

	Replace global 'log' with stdThreadLocalLog

2023-10-26  mio  <stigma@disroot.org>

	Improve display of skipping followed artists
	Change the behaviour so that using --skip <num> won't print:
	   'Downloading artist 1 of <total>'
	but instead print:
	   'Downloading artist <num + 1> of <total>'.

	Generate entire 'git_version' file.

	Implement command to reset PHPSESSID

2023-10-25  mio  <stigma@disroot.org>

	Log data directory
	Helps locate the file when an update of PHPSESSID is required.

	Need to add an option for changing this...

2023-10-25  mio  <stigma@disroot.org>

	Replace OSDN repository links
	The servers haven't been reliable for a few months.

2023-09-30  mio  <stigma@disroot.org>

	Cleanup project imports

2023-09-29  mio  <stigma@disroot.org>

	Fix trailing percentage for previously downloaded
	e.g.:

	  Previously downloaded page 1/2.%).
	  Previously downloaded page 2/2.

2023-09-29  mio  <stigma@disroot.org>

	Further improvements to the progress bar
	Still can't say I'm completely happy with this (trailing newlines and
	single-paged illustrations not changing the final message to 'Finished')
	but it's an improvement.

	I did spend a while trying to get a graphic progress bar, but couldn't
	integrate the UI in a way that I liked (the current implementation looks
	better IMO).

	See: https://codeberg.org/supercell/pixiv_down/issues/2

2023-09-27  mio  <stigma@disroot.org>

	Use same indentation for options in help messages

	Pad 'Already downloaded page X' values
	Also considering changing the message to 'Already downloaded page x/y'

2023-08-16  mio  <stigma@disroot.org>

	fix resuming a previous download of a manga.
	previously, if you cancelled a manga download partway, attempting to
	resume the download would result in the "Already downloaded" message,
	this was fixed with a commit[1] in pixivd, so we're just updating the
	version here.

	[1]: 1085361d86366542741e8ae5b845fed74c0a8aa5

2023-08-13  mio  <stigma@disroot.org>

	Add initial version of a progress bar
	Not the final design, but at least it shows which page we're downloading
	and how far through we are.

	See: https://codeberg.org/supercell/pixiv_down/issues/2

2023-08-07  mio  <stigma@disroot.org>

	Update pixivd
	This fixes an issue with GIF (Ugoira) not having a valid filename when
	calling the GraphicsMagick WriteImages function.

	Fixes https://codeberg.org/supercell/pixiv_down/issues/9

2023-08-07  mio  <stigma@disroot.org>

	Change version identifier to date+hash

2023-07-23  mio  <stigma@disroot.org>

	Update MagickD and PixivD versions

2023-07-16  mio  <stigma@disroot.org>

	Update CHANGELOG.md
	- Reorganize some sections.
	- Downloads both manga and illustrations by default
	- Temporary(?) removal of `--limit` option for following command.

	Fix falling back to user picture directory

	Fix loading config when dir exists but not file

2023-06-24  mio  <stigma@disroot.org>

	Add CHANGELOG.md

	Re write the 'following' command.
	I removed the --limit option since it's use is rather... limited. It'd
	be better served as an actual limit on the number of accounts to
	download, rather than the number of accounts per-page.

	Replace custom logger with Phobos FileLogger

	Rewrite 'following' help.

2023-06-23  mio  <stigma@disroot.org>

	Create a new log file each run

2023-06-22  mio  <stigma@disroot.org>

	Improve 'artwork' command
	The main change is the --group-errors option which will only print the
	errors just before the command has finished executing, rather than
	immediately after the error occurrs.

	This means you don't have to go searching for any errors after
	downloading the artworks.

2023-06-22  mio  <stigma@disroot.org>

	Re-work 'artist' command
	This really addressed two issues regarding the artist command. Some of
	the messaging could use improvement, but I haven't quite figured out how
	I want this to work with the progressbars that will be implemented.

	See Also:

		Change default behaviour of 'artist' command
		  https://codeberg.org/supercell/pixiv_down/issues/4

		Allow downloading of multiple artists when using the artist cmd
		  https://codeberg.org/supercell/pixiv_down/issues/5

2023-06-20  mio  <stigma@disroot.org>

	Clarify README notice

	Improve the 'daily' help
	I also took the liberty to re-format the dailyHandle function and
	improve some of the messaging there as well.

2023-06-17  mio  <stigma@disroot.org>

	Update pixiv_down to use new directories API

	Update directories module to v0.2.0
	There are quite a few changes to the API which I'll need to address, but
	the big addition is support for Windows -- making us a step closer to
	supporting Windows in pixiv_down.

	Move config reading out of main

	Move loading of GraphicsMagick out of main

	Improve help message for artist command

	Remove `printMainHelp`

2023-06-16  mio  <stigma@disroot.org>

	Reformat main function

	Improve 'unknown command' message

2023-06-15  mio  <stigma@disroot.org>

	Replace ': ' with 'v' for version info

	Futher improve default help message

	Provide better default help message
	This will be displayed when there are no arguments provided or
	when -h/--help/help is provided.

2023-06-14  mio  <stigma@disroot.org>

	Better handle invalid dates for --daily

2023-04-25  mio  <stigma@disroot.org>

	Change 'daily' behaviour when begin and end equal

2023-01-28  mio  <stigma@disroot.org>

	Initial commit
